package org.dromara.system.api.domain.bo;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.dromara.common.core.enums.NoticeMessageType;
import org.dromara.common.core.validate.EditGroup;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;


@Data
@NoArgsConstructor
public class RemoteMessageBo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @NotBlank(message = "主键不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 消息发送者id
     */
    private Long sendId;

    /**
     * 消息接收者id
     */
    private Long recordId;

    /**
     * 标题
     */
    private String title;

    /**
     * 消息类型
     * @see NoticeMessageType
     */
    private NoticeMessageType type;

    /**
     * 阅读状态0：未读，1：已读
     */
    private String status;

    /**
     * 消息内容
     */
    private String messageContent;

    /**
     * 地址
     */
    private String url;

    /**
     * 阅读时间
     */
    private Date readTime;


    private  Long taskStartTime;

    private  Long taskEndTime;

    /**
     * 门店id
     */
    private Long storeId;

    private Long createBy;
    private Long updateBy;
}
